<?php

namespace app\apijson\config;

/**
 * 加密配置类
 */
class EncryptionConfig
{
    /**
     * 获取加密密钥
     * 实际使用时应该从环境变量或配置文件读取
     */
    public static function getEncryptionKey(): string
    {
        // 优先从环境变量读取
        $key = config('apijson.encryption_key', null);
        
        if (!$key) {
            // 使用默认密钥（生产环境应该强制配置）
            $key = 'default-32-character-secret-key-123';
        }
        
        return $key;
    }

    /**
     * 获取加密方法
     */
    public static function getCipherMethod(): string
    {
        return config('apijson.cipher_method', 'AES-256-CBC');
    }

    /**
     * 检查是否启用加密
     */
    public static function isEncryptionEnabled(): bool
    {
        return config('apijson.encryption_enabled', true);
    }

    /**
     * 生成新的加密密钥
     */
    public static function generateKey(): string
    {
        return base64_encode(random_bytes(32));
    }
}